processCatalogOrderHttp

- 🇬🇧 English
- 🇮🇹 Italiano
Function Names: processCatalogOrderHttp / configure3DViewerHttp
Author: Domenico Cerone Creation Date: 25/09/2025
Last Reviewer: Domenico Cerone
Trigger: HTTPS (onRequest)
Purpose: Manages the cloning of products and variants to catalogs through two main functions: mass catalog order processing and individual 3D viewer configuration.
Detailed Functionality​
processCatalogOrderHttp - Mass Catalog Processing (Automatic)​
This is the main function that handles complete catalog order processing with automatic 3D viewer configuration. It performs the following workflow:
1. Order Validation and Status Management​
- Receives
orderIdfrom the frontend via HTTP request - Retrieves the document from
CatalogOrderscollection using the provided ID - Sets order status to "processing_addition"
- DUPLICATE CONTROL: Automatically identifies already processed assets (with cataloguesVariantsRef and cataloguesProductsRef) and marks them as "Failed - Duplicate"
2. Asset Processing and Grouping​
- Filters only assets with
isSelected=trueandresult="Available" - Groups remaining variants by productRef to avoid duplicates
- STATUS TRACKING: Each asset in list_3d_assets_results receives a 'status' field:
- "Complete" - Cloning was successful
- "Failed - Duplicate" - Asset already in catalog or processing error
3. Database Operations with Resilience​
- EXISTING VARIANTS CHECK: Before creating new variants, checks which ones are already present in the catalog via mainVariantRef
- If product already added to catalog, adds only missing variants
- Otherwise, creates new product in catalog
- Clones only missing variants and associates them with the product
- LASTUPDATE MANAGEMENT: Adds/updates lastUpdate field in "YYYY-MM-DD HH:MM:SS" format in all created/modified documents
4. Error Handling and Connectivity​
- Extended timeout: 540 seconds (9 minutes) for long processing
- Increased memory: 1GiB to handle large data volumes
- Specific handling for connection errors (ECONNRESET, ENOTFOUND, ETIMEDOUT):
- Automatic retry with incremental delay for failed operations
- Delay between operations (50-100ms) to avoid database overload
- Status code 503 for connection errors with retryable=true flag
5. Safe Restart Support​
- Idempotency: Function can be called multiple times with same orderId without creating duplicates
- Automatic Resume: If processing fails partially, restarting processes only missing elements
- State Control: Already processed assets are automatically skipped
- Detailed Logging: Clearly shows which elements are skipped and which are processed
6. catalogues_variants_map Creation​
- Creates variant mapping arrays for each catalog product
- Retrieves
glassesNamefrom CataloguesVariants for each variant - Updates existing mappings without creating duplicates
- Maintains comprehensive product-variant relationships
7. Mass 3D Viewer Configuration (Automatic)​
- AUTOMATIC EXECUTION: After cloning completion, automatically configures 3D viewer for all processed assets
- Groups variants by product to optimize API calls
- For each asset with status="Complete": calls internal configure3DViewer function
- Automatically updates 3D URLs in CataloguesProducts and CataloguesVariants
- Creates/updates 3DViewers structure with all products and variants
- No manual intervention required - happens automatically as part of processCatalogOrderHttp
8. Notification Preference Check​
- Customer Profile Check: Retrieves customer profile from Profiles collection using profile email
- Notification Verification: Checks if processCatalogOrderHttp notification is enabled
- Preference Field: Verifies
notification_types.processCatalogOrderHttpfield in the profile - Skip Condition: If notification is disabled (false): skips email sending entirely
- Proceed Condition: If notification is enabled (true): continues with email notification system
- Logging: Provides clear logging about notification preference status
9. Email Notification System​
- Send Condition: Email sent ONLY if numberAssets > 0 (at least one successfully cloned asset)
- Recipient Retrieval:
- CatalogOrders[orderId] → 'profile' (customer profile ID)
- Profiles[profile] → '_email' (customer email)
- Customer Name Retrieval:
- Profiles[profile] → 'firstName' + 'lastName' (customer full name)
- If firstName/lastName missing, uses part before @ of email
- Catalog Name Retrieval:
- CatalogOrders[orderId] → 'catalogRef' (catalog ID)
- Catalogues[catalogRef] → 'nameCatalog' (catalog name)
- Asset Count: Counts only successfully cloned assets
- Sending System: ZeptoMail with preconfigured template (
MAIL_TEMPLATE_KEY:13ef.8598f19fbcc5adb.k1.48ea6e70-5cb3-11f0-9e15-dad70ff08860.197eed3e6d7) - Template Data: numberAssets, nameCatalog, customer name
10. Notification Document Creation​
- After email sending (if numberAssets > 0), automatically creates document in 'Notifications' collection
- Document Structure: date, read (false), sentBy, sentTo, type, numberAssets, nameCatalog, catalogId
- Error Handling: If document creation fails, logs error but doesn't interrupt process
configure3DViewerHttp - Individual 3D Viewer Configuration (Manual)​
This function configures the 3D viewer for individual catalog products when called manually or for specific cases. Unlike the automatic configuration in processCatalogOrderHttp, this is for targeted, individual configuration:
1. Catalog Reference Retrieval​
- Retrieves CatalogOrder document using catalogOrderId
- Extracts 'catalogRef' property from document
2. 3DViewers Management​
- Searches '3DViewers' collection for document with 'catalog' = catalogRef
- If exists: manages existing product in subcollection
- If not exists: creates new 3DViewer with standard properties
3. Product and Variant Handling​
- Existing Product: Adds catalogVariantId to 'list_variants' array (if not already present)
- New Product: Creates new document with id, initialModel, and list_variants
- Maintains proper product-variant relationships
4. 3D URL Updates​
- Updates 'CataloguesProducts' with multiple3dViewerLink
- Updates 'CataloguesVariants' with modelViewerUrl
- URLs use actual 3DViewer document ID (not catalogOrderId)
5. URL Format​
- Product URL:
https://studio.arshades.it/Arshades3ds/{viewerId}/glasses/{catalogProductId} - Variant URL:
https://studio.arshades.it/Arshades3d/{viewerId}/glasses/{catalogProductId}/variant/{catalogVariantId}
Technical Configuration​
- Region: europe-central2
- Timeout: 540 seconds (processCatalogOrderHttp), 60 seconds (configure3DViewerHttp)
- Memory: 1GiB (processCatalogOrderHttp)
- CORS: Enabled for frontend calls
- Email Service: ZeptoMail with template system
- Database: Firestore with optimized batch operations
Performance Optimization​
- Batch Processing: Groups variants by product to reduce API calls
- Connection Management: Axios with keep-alive and 30s timeout
- Delay Management: Strategic delays to prevent database overload
- Memory Efficiency: Optimized for handling large catalog orders
- Streaming Updates: Real-time progress for long operations
Function Usage Scenarios​
Use processCatalogOrderHttp when:
- Processing complete catalog orders with multiple products/variants
- Need automatic 3D viewer configuration for all assets
- Want email notifications sent to customers
- Require bulk processing with batch optimization
- Need comprehensive error handling and retry logic
Use configure3DViewerHttp when:
- Configuring 3D viewer for individual products/variants
- Need to fix specific 3D configuration issues
- Testing 3D viewer setup for specific items
- Manual intervention required for specific catalog entries
- Debugging or troubleshooting individual 3D viewers
The system ensures complete catalog management with robust error handling, automatic recovery, and comprehensive tracking for enterprise-level operations.
Input (Payload):​
For processCatalogOrderHttp (Automatic Mass Processing):
{
"orderId": "jbX3BOidkjMq15OYHlMC"
}
Note: This function automatically calls 3D viewer configuration for all processed assets at the end.
For configure3DViewerHttp (Manual Individual Configuration):
{
"catalogOrderId": "xxx",
"catalogProductId": "yyy",
"catalogVariantId": "zzz"
}
Note: This function can be called independently to configure 3D viewer for individual products/variants when needed.
Output (Success):​
For processCatalogOrderHttp:
{
"success": true,
"message": "Processed 15 products for catalog",
"results": [
{
"skuCode": "3102687C55110",
"success": true,
"result": {
"newProductId": "catalog_product_id",
"newVariantIds": ["catalog_variant_id"],
"cataloguesVariantsRef": "catalog_variant_id",
"cataloguesProductsRef": "catalog_product_id"
}
}
],
"viewer3D": {
"message": "3D viewer configuration: 12 successes, 3 failures on 8 products",
"totalAssets": 15,
"totalProducts": 8,
"successful": 12,
"failed": 3,
"results": [
{
"skuCode": "3102687C55110",
"success": true,
"productId": "catalog_product_id",
"variantId": "catalog_variant_id",
"productUrl": "https://studio.arshades.it/Arshades3ds/viewer_id/glasses/product_id",
"variantUrl": "https://studio.arshades.it/Arshades3d/viewer_id/glasses/product_id/variant/variant_id",
"viewerId": "viewer_document_id"
}
]
},
"emailNotification": {
"success": true,
"message": "Cloning completion notification email sent successfully",
"recipient": "customer@email.com",
"numberAssets": 12,
"nameCatalog": "My Catalog",
"customerName": "John Doe",
"notificationId": "notification_doc_id"
}
}
For configure3DViewerHttp:
{
"success": true,
"message": "3D viewer configuration completed successfully",
"data": {
"catalogOrderId": "xxx",
"catalogRef": "catalog_ref_id",
"catalogProductId": "yyy",
"catalogVariantId": "zzz",
"productUrl": "https://studio.arshades.it/Arshades3ds/viewer_id/glasses/yyy",
"variantUrl": "https://studio.arshades.it/Arshades3d/viewer_id/glasses/yyy/variant/zzz",
"viewerId": "3d_viewer_document_id"
}
}
Testing​
URLs:
- processCatalogOrderHttp: http://127.0.0.1:5001/arshadesstaging/europe-central2/processCatalogOrderHttp
- configure3DViewerHttp: http://127.0.0.1:5001/arshadesstaging/europe-central2/configure3DViewerHttp
Test with Emulator:
- Start the Firebase emulator:
firebase emulators:start --only functions - Ensure you're using Node.js version 20:
nvm use 20 - Test processCatalogOrderHttp with curl:
curl -X POST "http://127.0.0.1:5001/arshadesstaging/europe-central2/processCatalogOrderHttp" \
-H "Content-Type: application/json" \
-d '{"orderId": "jbX3BOidkjMq15OYHlMC"}'
- Test configure3DViewerHttp with curl:
curl -X POST "http://127.0.0.1:5001/arshadesstaging/europe-central2/configure3DViewerHttp" \
-H "Content-Type: application/json" \
-d '{"catalogOrderId": "xxx", "catalogProductId": "yyy", "catalogVariantId": "zzz"}'
Postman Testing:
For processCatalogOrderHttp:
- Method: POST
- URL: http://127.0.0.1:5001/arshadesstaging/europe-central2/processCatalogOrderHttp
- Headers:
- Key:
Content-Type - Value:
application/json
- Key:
- Body: raw JSON
{"orderId": "your_order_id"}
For configure3DViewerHttp:
- Method: POST
- URL: http://127.0.0.1:5001/arshadesstaging/europe-central2/configure3DViewerHttp
- Headers:
- Key:
Content-Type - Value:
application/json
- Key:
- Body: raw JSON with catalogOrderId, catalogProductId, and catalogVariantId
Deploy Commands:​
To deploy both functions:
firebase deploy --only functions:processCatalogOrderHttp,functions:configure3DViewerHttp
To deploy individual functions:
firebase deploy --only functions:processCatalogOrderHttp
firebase deploy --only functions:configure3DViewerHttp
Production URLs:​
processCatalogOrderHttp: https://europe-central2-arshades-7e18a.cloudfunctions.net/processCatalogOrderHttp
configure3DViewerHttp: https://europe-central2-arshades-7e18a.cloudfunctions.net/configure3DViewerHttp
Function Names: processCatalogOrderHttp / configure3DViewerHttp
Autore: Domenico Cerone Data di creazione: 25/09/2025
Last Reviewer: Domenico Cerone
Trigger: HTTPS (onRequest)
Purpose: Gestisce la clonazione di prodotti e varianti nei cataloghi attraverso due funzioni principali: elaborazione in massa degli ordini di catalogo e configurazione individuale del visualizzatore 3D.
Funzionamento Dettagliato​
processCatalogOrderHttp - Elaborazione Massiva Catalogo (Automatica)​
Questa è la funzione principale che gestisce l'elaborazione completa degli ordini di catalogo con configurazione automatica del visualizzatore 3D. Esegue il seguente flusso operativo:
1. Validazione Ordine e Gestione Status​
- Riceve
orderIddal frontend tramite richiesta HTTP - Recupera il documento dalla collezione
CatalogOrdersusando l'ID fornito - Imposta lo status dell'ordine a "processing_addition"
- CONTROLLO DUPLICATI: Identifica automaticamente gli asset già processati (con cataloguesVariantsRef e cataloguesProductsRef) e li marca come "Failed - Duplicate"
2. Elaborazione Asset e Raggruppamento​
- Filtra solo gli asset con
isSelected=trueeresult="Available" - Raggruppa le varianti rimanenti per productRef per evitare duplicati
- TRACCIAMENTO STATUS: Ogni asset in list_3d_assets_results riceve un campo 'status':
- "Complete" - La clonazione è andata a buon fine
- "Failed - Duplicate" - Asset già presente nel catalogo o errore durante l'elaborazione
3. Operazioni Database con Resilienza​
- CONTROLLO VARIANTI ESISTENTI: Prima di creare nuove varianti, controlla quali sono già presenti nel catalogo tramite mainVariantRef
- Se il prodotto è già stato aggiunto al catalogo, aggiunge solo le varianti non ancora presenti
- Altrimenti, crea un nuovo prodotto nel catalogo
- Clona solo le varianti mancanti e le associa al prodotto
- GESTIONE LASTUPDATE: Aggiunge/aggiorna il campo lastUpdate in formato "YYYY-MM-DD HH:MM:SS" in tutti i documenti creati/modificati
4. Gestione Errori e Connettività ​
- Timeout esteso: 540 secondi (9 minuti) per elaborazioni lunghe
- Memoria aumentata: 1GiB per gestire grandi volumi di dati
- Gestione specifica per errori di connessione (ECONNRESET, ENOTFOUND, ETIMEDOUT):
- Retry automatico con delay incrementale per operazioni fallite
- Delay tra operazioni (50-100ms) per evitare sovraccarico del database
- Status code 503 per errori di connessione con flag retryable=true
5. Supporto Riavvio Sicuro​
- Idempotenza: La funzione può essere richiamata più volte con lo stesso orderId senza creare duplicati
- Ripresa Automatica: Se un'elaborazione fallisce parzialmente, riavviandola elabora solo gli elementi mancanti
- Controllo Stato: Gli asset già processati vengono automaticamente saltati
- Logging Dettagliato: Mostra chiaramente quali elementi vengono saltati e quali elaborati
6. Creazione catalogues_variants_map​
- Crea array di mappature delle varianti per ogni prodotto del catalogo
- Recupera
glassesNameda CataloguesVariants per ogni variante - Aggiorna le mappature esistenti senza creare duplicati
- Mantiene relazioni complete prodotto-variante
7. Configurazione 3D Viewer di Massa (Automatica)​
- ESECUZIONE AUTOMATICA: Dopo il completamento della clonazione, configura automaticamente il 3D viewer per tutti gli asset elaborati
- Raggruppa le varianti per prodotto per ottimizzare le chiamate API
- Per ogni asset con status="Complete": chiama la funzione interna configure3DViewer
- Aggiorna automaticamente gli URL 3D in CataloguesProducts e CataloguesVariants
- Crea/aggiorna la struttura 3DViewers con tutti i prodotti e varianti
- Nessun intervento manuale richiesto - avviene automaticamente come parte di processCatalogOrderHttp
8. Controllo Preferenze Notifiche​
- Controllo Profilo Cliente: Recupera il profilo del cliente dalla collezione Profiles usando l'email del profilo
- Verifica Notifica: Controlla se la notifica processCatalogOrderHttp è abilitata
- Campo Preferenza: Verifica il campo
notification_types.processCatalogOrderHttpnel profilo - Condizione Salto: Se la notifica è disabilitata (false): salta completamente l'invio email
- Condizione Procedi: Se la notifica è abilitata (true): continua con il sistema di notifica email
- Logging: Fornisce logging chiaro sullo stato delle preferenze di notifica
9. Sistema di Notifica Email​
- Condizione di Invio: La mail viene inviata SOLO se numberAssets > 0 (almeno un asset clonato con successo)
- Recupero Destinatario:
- CatalogOrders[orderId] → 'profile' (ID del profilo cliente)
- Profiles[profile] → '_email' (email del cliente)
- Recupero Nome Cliente:
- Profiles[profile] → 'firstName' + 'lastName' (nome completo del cliente)
- Se firstName/lastName mancanti, usa la parte prima di @ dell'email
- Recupero Nome Catalogo:
- CatalogOrders[orderId] → 'catalogRef' (ID del catalogo)
- Catalogues[catalogRef] → 'nameCatalog' (nome del catalogo)
- Conteggio Asset: Conta solo gli asset clonati con successo
- Sistema di Invio: ZeptoMail con template preconfigurato (
MAIL_TEMPLATE_KEY:13ef.8598f19fbcc5adb.k1.48ea6e70-5cb3-11f0-9e15-dad70ff08860.197eed3e6d7) - Dati Template: numberAssets, nameCatalog, nome cliente
10. Creazione Documento Notifica​
- Dopo l'invio della mail (se numberAssets > 0), crea automaticamente un documento nella collezione 'Notifications'
- Struttura Documento: date, read (false), sentBy, sentTo, type, numberAssets, nameCatalog, catalogId
- Gestione Errori: Se la creazione del documento fallisce, logga l'errore ma non interrompe il processo
configure3DViewerHttp - Configurazione Individuale 3D Viewer (Manuale)​
Questa funzione configura il visualizzatore 3D per singoli prodotti del catalogo quando chiamata manualmente o per casi specifici. A differenza della configurazione automatica in processCatalogOrderHttp, questa è per configurazioni mirate e individuali:
1. Recupero Riferimento Catalogo​
- Recupera il documento CatalogOrder usando catalogOrderId
- Estrae la proprietà 'catalogRef' dal documento
2. Gestione 3DViewers​
- Cerca nella collezione '3DViewers' un documento con 'catalog' = catalogRef
- Se esiste: gestisce il prodotto esistente nella sottocollezione
- Se non esiste: crea nuovo 3DViewer con proprietà standard
3. Gestione Prodotto e Varianti​
- Prodotto Esistente: Aggiunge catalogVariantId all'array 'list_variants' (se non già presente)
- Nuovo Prodotto: Crea nuovo documento con id, initialModel e list_variants
- Mantiene relazioni corrette prodotto-variante
4. Aggiornamento URL 3D​
- Aggiorna 'CataloguesProducts' con multiple3dViewerLink
- Aggiorna 'CataloguesVariants' con modelViewerUrl
- Gli URL usano l'ID effettivo del documento 3DViewer (non catalogOrderId)
5. Formato URL​
- URL Prodotto:
https://studio.arshades.it/Arshades3ds/{viewerId}/glasses/{catalogProductId} - URL Variante:
https://studio.arshades.it/Arshades3d/{viewerId}/glasses/{catalogProductId}/variant/{catalogVariantId}
Configurazione Tecnica​
- Regione: europe-central2
- Timeout: 540 secondi (processCatalogOrderHttp), 60 secondi (configure3DViewerHttp)
- Memoria: 1GiB (processCatalogOrderHttp)
- CORS: Abilitato per chiamate da frontend
- Servizio Email: ZeptoMail con sistema di template
- Database: Firestore con operazioni batch ottimizzate
Ottimizzazione Performance​
- Elaborazione Batch: Raggruppa le varianti per prodotto per ridurre le chiamate API
- Gestione Connessioni: Axios con keep-alive e timeout 30s
- Gestione Delay: Delay strategici per prevenire sovraccarico database
- Efficienza Memoria: Ottimizzata per gestire ordini di catalogo grandi
- Aggiornamenti Streaming: Progresso in tempo reale per operazioni lunghe
Scenari di Utilizzo delle Funzioni​
Usare processCatalogOrderHttp quando:
- Elaborare ordini di catalogo completi con più prodotti/varianti
- Serve configurazione automatica del visualizzatore 3D per tutti gli asset
- Si vogliono notifiche email inviate ai clienti
- Serve elaborazione in massa con ottimizzazione batch
- Serve gestione errori completa e logica di retry
Usare configure3DViewerHttp quando:
- Configurare visualizzatore 3D per singoli prodotti/varianti
- Serve correggere problemi specifici di configurazione 3D
- Testare configurazione visualizzatore 3D per elementi specifici
- Serve intervento manuale per elementi specifici del catalogo
- Debug o risoluzione problemi per singoli visualizzatori 3D
Il sistema garantisce una gestione completa del catalogo con robusta gestione degli errori, recupero automatico e tracciamento completo per operazioni di livello enterprise.
Input (Payload):​
Per processCatalogOrderHttp (Elaborazione Automatica in Massa):
{
"orderId": "jbX3BOidkjMq15OYHlMC"
}
Nota: Questa funzione chiama automaticamente la configurazione del visualizzatore 3D per tutti gli asset elaborati alla fine.
Per configure3DViewerHttp (Configurazione Manuale Individuale):
{
"catalogOrderId": "xxx",
"catalogProductId": "yyy",
"catalogVariantId": "zzz"
}
Nota: Questa funzione può essere chiamata indipendentemente per configurare il visualizzatore 3D per singoli prodotti/varianti quando necessario.
Output (Success):​
Per processCatalogOrderHttp:
{
"success": true,
"message": "Elaborati 15 prodotti per il catalogo",
"results": [
{
"skuCode": "3102687C55110",
"success": true,
"result": {
"newProductId": "catalog_product_id",
"newVariantIds": ["catalog_variant_id"],
"cataloguesVariantsRef": "catalog_variant_id",
"cataloguesProductsRef": "catalog_product_id"
}
}
],
"viewer3D": {
"message": "Configurazione 3D viewer: 12 successi, 3 fallimenti su 8 prodotti",
"totalAssets": 15,
"totalProducts": 8,
"successful": 12,
"failed": 3,
"results": [
{
"skuCode": "3102687C55110",
"success": true,
"productId": "catalog_product_id",
"variantId": "catalog_variant_id",
"productUrl": "https://studio.arshades.it/Arshades3ds/viewer_id/glasses/product_id",
"variantUrl": "https://studio.arshades.it/Arshades3d/viewer_id/glasses/product_id/variant/variant_id",
"viewerId": "viewer_document_id"
}
]
},
"emailNotification": {
"success": true,
"message": "Mail di notifica clonazione completata inviata con successo",
"recipient": "cliente@email.com",
"numberAssets": 12,
"nameCatalog": "Il Mio Catalogo",
"customerName": "Mario Rossi",
"notificationId": "notification_doc_id"
}
}
Per configure3DViewerHttp:
{
"success": true,
"message": "Configurazione 3D viewer completata con successo",
"data": {
"catalogOrderId": "xxx",
"catalogRef": "catalog_ref_id",
"catalogProductId": "yyy",
"catalogVariantId": "zzz",
"productUrl": "https://studio.arshades.it/Arshades3ds/viewer_id/glasses/yyy",
"variantUrl": "https://studio.arshades.it/Arshades3d/viewer_id/glasses/yyy/variant/zzz",
"viewerId": "3d_viewer_document_id"
}
}
Testing​
URL:
- processCatalogOrderHttp: http://127.0.0.1:5001/arshadesstaging/europe-central2/processCatalogOrderHttp
- configure3DViewerHttp: http://127.0.0.1:5001/arshadesstaging/europe-central2/configure3DViewerHttp
Test con Emulator:
- Avviare l'emulatore Firebase:
firebase emulators:start --only functions - Assicurarsi di usare Node.js versione 20:
nvm use 20 - Testare processCatalogOrderHttp con curl:
curl -X POST "http://127.0.0.1:5001/arshadesstaging/europe-central2/processCatalogOrderHttp" \
-H "Content-Type: application/json" \
-d '{"orderId": "jbX3BOidkjMq15OYHlMC"}'
- Testare configure3DViewerHttp con curl:
curl -X POST "http://127.0.0.1:5001/arshadesstaging/europe-central2/configure3DViewerHttp" \
-H "Content-Type: application/json" \
-d '{"catalogOrderId": "xxx", "catalogProductId": "yyy", "catalogVariantId": "zzz"}'
Postman Testing:
Per processCatalogOrderHttp:
- Metodo: POST
- URL: http://127.0.0.1:5001/arshadesstaging/europe-central2/processCatalogOrderHttp
- Headers:
- Key:
Content-Type - Value:
application/json
- Key:
- Body: raw JSON
{"orderId": "your_order_id"}
Per configure3DViewerHttp:
- Metodo: POST
- URL: http://127.0.0.1:5001/arshadesstaging/europe-central2/configure3DViewerHttp
- Headers:
- Key:
Content-Type - Value:
application/json
- Key:
- Body: raw JSON con catalogOrderId, catalogProductId e catalogVariantId
Comandi Deploy:​
Per deployare entrambe le funzioni:
firebase deploy --only functions:processCatalogOrderHttp,functions:configure3DViewerHttp
Per deployare le funzioni singolarmente:
firebase deploy --only functions:processCatalogOrderHttp
firebase deploy --only functions:configure3DViewerHttp
URL di Produzione:​
processCatalogOrderHttp: https://europe-central2-arshades-7e18a.cloudfunctions.net/processCatalogOrderHttp
configure3DViewerHttp: https://europe-central2-arshades-7e18a.cloudfunctions.net/configure3DViewerHttp